home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / IO / ByteArrayInputStream.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  889 b   |  65 lines

  1. package java.io;
  2.  
  3. public class ByteArrayInputStream extends InputStream {
  4.    protected byte[] buf;
  5.    protected int pos;
  6.    protected int count;
  7.  
  8.    public ByteArrayInputStream(byte[] var1) {
  9.       this.buf = var1;
  10.       this.pos = 0;
  11.       this.count = var1.length;
  12.    }
  13.  
  14.    public ByteArrayInputStream(byte[] var1, int var2, int var3) {
  15.       this.buf = var1;
  16.       this.pos = var2;
  17.       int var4 = var2 + var3;
  18.       int var5 = var1.length;
  19.       this.count = var4 <= var5 ? var4 : var5;
  20.    }
  21.  
  22.    public synchronized int read() {
  23.       return this.pos < this.count ? this.buf[this.pos++] & 255 : -1;
  24.    }
  25.  
  26.    public synchronized int read(byte[] var1, int var2, int var3) {
  27.       if (this.pos >= this.count) {
  28.          return -1;
  29.       } else {
  30.          if (this.pos + var3 > this.count) {
  31.             var3 = this.count - this.pos;
  32.          }
  33.  
  34.          if (var3 <= 0) {
  35.             return 0;
  36.          } else {
  37.             System.arraycopy(this.buf, this.pos, var1, var2, var3);
  38.             this.pos += var3;
  39.             return var3;
  40.          }
  41.       }
  42.    }
  43.  
  44.    public synchronized long skip(long var1) {
  45.       if ((long)this.pos + var1 > (long)this.count) {
  46.          var1 = (long)(this.count - this.pos);
  47.       }
  48.  
  49.       if (var1 < 0L) {
  50.          return 0L;
  51.       } else {
  52.          this.pos = (int)((long)this.pos + var1);
  53.          return var1;
  54.       }
  55.    }
  56.  
  57.    public synchronized int available() {
  58.       return this.count - this.pos;
  59.    }
  60.  
  61.    public synchronized void reset() {
  62.       this.pos = 0;
  63.    }
  64. }
  65.